iT邦幫忙

2025 iThome 鐵人賽

DAY 3
1
生成式 AI

agent-brain: 從 0 開始打造一個 python package系列 第 3

Day3: 論文導讀 Understanding the planning of LLM agents: A survey (一)

  • 分享至 

  • xImage
  •  

昨天介紹了 single-agent system 與 multi-agent system,今天我們 focus 在 single-agent system 上,透過 2024 這篇論文 Understanding the planning of LLM agents: A survey [1] 來看一下一個 LLM Agent 通常具備哪些抽象的 components,也藉此為參考實作出我們 agent-brain 的 interfaces

Introduction

https://ithelp.ithome.com.tw/upload/images/20250917/20128319HWe3wpJ8WI.jpg

這是論文中區分的 5 大 components,雖然圖上感覺有箭頭環環相扣,但讀完後覺得每個部分不一定有所關連,都算是蠻獨立的課題
論文中區分的五個類別分別是:

  1. Decomposition
  2. Selection
  3. External Planner
  4. Reflection
  5. Memory

那接下來介紹 component

首先當問題進來,簡單的問題還好,但遇到複雜的問題會做的一件事就是拆解問題

Task Decomposition

想解決什麼?
把複雜任務拆成可執行的子問題/子目標,降低一次性推理的難度,讓 agent 能夠「逐步可控地」前進。核心是把「長路徑推理」變成「一連串局部正確」。

https://ithelp.ithome.com.tw/upload/images/20250917/201283195D1BU83I0E.jpg

常見作法 / 例子
論文提出了兩種不同的 decomposition 方法

1. Decomposition-First
顧名思義,就是先拆 SubGoal, 如上圖(a),後再對每個 SubGoal 進行規劃與執行 圖(a) 下方紅線。
常見的像是 Plan and solve [2],或者是 HuggingGPT [3]
HuggingGPT 覺得蠻值得介紹的,也完全展現 Decomposition-First 想要做什麼。

就拿 HuggingGPT 介紹一下吧:
我們都知道 Hugging face 上有超多應用在在各種任務上的 model,所以把 GPT 當作是一個 派發任務者 (Controller),breakdown 多個 Sub Task 並且派發適合的任務給不同的 Hugging Face Model 如下圖所示。最後在參考專家的 response 做回答。
https://ithelp.ithome.com.tw/upload/images/20250917/20128319uhAGcMbv52.jpg
這樣能很好的達到讓專家來處理的效果XD

2. Interleaved Decomposition
接下來是 Interleaved 模式,在這個模式下最大的差別是,相比於同時拆多個 sub tasks,他是依序做事。如圖中(b) 紅線所示,依序完成所有的 sub goal,這樣能更靈活的安排下一個任務。
舉個例子: 我大可以在最一開始就 breakdown 出鐵人賽30天每天要做什麼事情 (Decomposition-First),但其實可能做到第3天就發現這篇 paper 可能要多花(水)一天,所以如果一開始就用 Interleaved 的方法的話,就不會有自打嘴巴的現象了

這部分的例子就有很經典的 ReAct [4]
https://ithelp.ithome.com.tw/upload/images/20250917/20128319CDY9oEHPC3.jpg
ReAct 由 Reason + Act 組成,這也是他的核心架構
如圖所示,每次都先想一下目前要幹嘛,我要做什麼 Action。是個非常 chill 的方法呢。

常見問題
不難發現,不管是 decomposition-first (BFS) or Interleaved Decomposition (DFS) 的每個 sub goal 之間都有超高的關聯度,這樣當如果在一開始 breakdown 時的方向就錯了或者理解錯誤,Interleaved Decomposition 可能還有機會調整回來,但 decomposition-first 一歪掉可能就沒救了。
*Interleaved Decomposition 在遇到更複雜的任務 (需要多輪) 由於都依序做下去,也很容易被一開始的 sub goal 所影響而救不回來

Multi-Plan Selection

想解決什麼?
在複雜任務中,LLM 生成的單一路徑常常可能不夠穩健:

  • 有時候規劃結果雖然合理,但其實是次佳解。
  • 一開始如果走錯方向,後續規劃就很難自我修正。

Multi-Plan Selection 的核心就是同時生成多個候選方案,然後透過選擇機制找出最可行的一條。相較於單一路徑的 decomposition,這樣能在早期錯誤時透過「多樣性 + 選擇」達到校正與收斂。

常見作法
在 Multi-Plan selection,每種不同的演算法不外乎都分成了兩大階段: Multi-Plan Generation 與 Optimal Plan Selection

  1. Multi-Plan Generation (候選路徑生成)

    目標:盡量多產生多樣化的可行方案。

  2. Optimal Plan Selection(最優路徑選擇)

    目標:從候選方案中選出最穩健的一條。

這邊就只挑 最經典的 Self-Consistency 跟 Tree-of-though(?) 來舉例

  1. Self-Consistency [5]
    https://ithelp.ithome.com.tw/upload/images/20250917/20128319NqRWDHLi9m.jpg

在 Self-Consistency 中,透過一直 sampling 的方法 (e.g., 調高 temperture、改 top-k) 生成多種不同的路徑。途中就是讓他回答 3 次
然後 Optimal Plan Selection 看哪個答案被回答最多次,選擇那個。

  1. ToT [6]
    https://ithelp.ithome.com.tw/upload/images/20250917/201283190nJOGnlwlU.jpg

再來看看 Tree of Though search strategy
雖然是個 tree search (有點類似 ReAct 一次一個 SubGoal) 對每個 state (node) 產生可行性解 (Multi-Plan Generation)
然後當執行錯誤時,透過某種 backtracking 機制找到更好的 plan (Optimal Plan Selection),不會接下去做,而是會回到 parent (如上圖右)。

這樣做法又比 self-consistent 更細膩了一點,是真的在 multi-planning + optimal plan selection.

想當然. 要達到這樣就有非常多的 prompt engineering 在裡面啦... 看看他定義的 software system 有多少個 Module ...

然後一摸到 search tree 那就一發不可收拾了,大家有興趣可以參考...
https://ithelp.ithome.com.tw/upload/images/20250917/20128319Okk8O1ZNlt.jpg

常見問題
感覺得出來,需要超多 tokens for prompt。而且會搞更複雜一些

Takeaway

今天主要 focus 在 Agent 任務拆解的介紹上,介紹了最基本的 decomposition 與 multi-plan selection。
但我自幾覺得沒有絕對的好壞,絕對是根據任務 case by case 來判斷我到底是否用簡單的 breakdown 就夠了。 (總不可能問llm現在幾點 產出 30 個 plan,然後 major voting)

不知不覺也寫了一堆,剩下留到明天再寫好了

ref:
[1] Understanding the planning of LLM agents: A survey
[2] Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models
[3] HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face
[4] REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS
[5] SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS
[6] Large Language Model Guided Tree-of-Thought


上一篇
Day2: Agentic LLM overview
系列文
agent-brain: 從 0 開始打造一個 python package3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言